/*
 * @FileName: [RechargeableCardReconciliationService.java] 
 * @Package com.bcinfo.iccard.service 
 * 
 * 
 * Copyright (c) 2011-2015 BCINFO Technology Limited Com.
 * All rights reserved.
 * 
 * This software is the confidential and proprietary 
 * information of BCINFO Technology Limited Company
 * ("Confidential Information"). You shall not disclose 
 * such Confidential Information and shall use it only
 * in accordance with the terms of the contract agreement 
 * you entered into with RKY.
 * 
 * $Rev$
 * $LastChangedDate$
 * $LastChangedBy$
 * 
 * @category ICCARD
 * @version 1.1
 * @author $Author$
 *
 * Change History:[Formatter: author date description] <br/>
 * 1
 * 2
 * 3
*/


package com.bcinfo.iccard.service;

import java.util.Map;

import com.bcinfo.iccard.exception.IccardDatabaseException;
import com.bcinfo.iccard.exception.InvalidParametersException;
import com.bcinfo.iccard.util.PaginationList;

/**
 * 充值卡对账列表 <br/>
 * <p>Description:<br/>
 *    <p>TODO 详细描述
 *
 * <p>For Examples <br/>
 * <PRE>
 *      TODO 代码使用示例
 * </PRE>
 * <p>
 */

public interface RechargeableCardReconciliationService
{
    /**
     * 充值卡对账列表 <br/>
     * <p>Description: TODO(详细描述) 
     * <br/>
     * <p>Author: zhaosl<br/>
     * <p>Date: 2013-12-20-下午3:32:09<br/>
     * <p>
     * @param userId
     * @param pageSize
     * @param pageNo
     * @return
     * @throws IccardDatabaseException
     * @throws InvalidParametersException   
     *
     */
    PaginationList<Map<String,Object>>  getRechargeableCardList(String userId,int pageSize, int pageNo) throws IccardDatabaseException, InvalidParametersException;
    
    /**
     * 
     * 销售人员对账列表 <br/>
     * <p>Description: TODO(详细描述) 
     * <br/>
     * <p>Author: zhaosl<br/>
     * <p>Date: 2013-12-20-下午3:32:29<br/>
     * <p>
     * @param userId
     * @param dzsj
     * @param pageSize
     * @param pageNo
     * @return
     * @throws IccardDatabaseException
     * @throws InvalidParametersException   
     *
     */
    PaginationList<Map<String,Object>>  getReconciliationList(String userId,String dzsj,String newDate,String opStatus,int pageSize, int pageNo) throws IccardDatabaseException, InvalidParametersException;
    
    /**
     * 
     * 销售人员对账列表金额总数 <br/>
     * <p>Description: TODO(详细描述) 
     * <br/>
     * <p>Author: zhaosl<br/>
     * <p>Date: 2013-12-20-下午4:06:29<br/>
     * <p>
     * @param userId
     * @param dzsj
     * @return
     * @throws IccardDatabaseException
     * @throws InvalidParametersException   
     *
     */
    String getReconciliationSum(String userId,String dzsj,String newDate,String opStatus) throws IccardDatabaseException, InvalidParametersException;
    
    /**
     * 
     * 对账 <br/>
     * <p>Description: TODO(详细描述) 
     * <br/>
     * <p>Author: zhaosl<br/>
     * <p>Date: 2013-12-23-下午3:05:32<br/>
     * <p>
     * @param userId
     * @param scdzsj
     * @param newDate
     * @param opStatus
     * @param account
     * @param dzje
     * @return
     * @throws IccardDatabaseException
     * @throws InvalidParametersException   
     *
     */
    String checkCountReconciliation(String userId,String scdzsj,String newDate,String opStatus,String account,String dzje) throws IccardDatabaseException, InvalidParametersException;
}
